package cn.gogoyc.org.domain;

import cn.gogoyc.org.basic.domain.BaseDomain;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * Department 部门实体类
 * @author Yangg
 */
@Data
public class Department extends BaseDomain {
    /**
     * 部门名称
     */
    private String name;
    /**
     * 部门路径
     */
    private String dirPath;
    /**
     * 部门经理ID
     */
    private Long manager_id;
    /**
     * 部门状态 : 1-启动 0-禁用
     */
    private Integer state = 1;

    /**
     * 上级部门I
     */
    private Long parent_id;
    /**
     * 部门编号
     */
    private String sn;
    /**
     * 经理名称
     */
    private Employee manager;
    /**
     * 上级部门
     */
    private Department parent;

    /**
     * 级联部门树对象
     * 该注解是让级联菜单最后一页没有数据的不展示
     */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private List<Department> children = new ArrayList<>();
}
